Semiconductor process technology continues to scale down, which enables an integration of an increasing number of central processing units (CPUs) and peripheral devices into one system. Such integration generally provides many benefits, such as more processing power within a computer server or a system-on-chip (SoC) and more functionality in a mobile device or a cellular phone. For example, with multiple processor cores and multiple peripheral devices integrated inside a small package, a cellular phone can provide end users with a variety of features, such as voice calls, text messaging, multimedia applications, wired and/or wireless network, camera, global positioning system (GPS), among others. To meet the demands for more performance and more features, system designers face many challenges. One of the challenges is effective power management. For example, various processor cores and peripheral devices within a cellular phone are generally powered by a single source, such as a battery. The battery's capacity is generally limited by its size that in turn is limited by a small form factor of the cellular phone's package. Therefore, how to effectively utilize the battery's power becomes a key issue in such a system design.